package edu.istu.asu07_1.live.configs;

import java.awt.Color;
import java.awt.Dimension;

/**
 * Класс-помошник, содержащий изменяемые в GUI параметры
 * @author romanches
 *
 */
public class Constants {
	//Размер поля
	public static int FIELD_WIDTH;
	public static int FIELD_HEIGHT;

	//Начальная энергия агентов
	public static int DEFAULT_AGENT_ENERGY;

	//Временной интервал между шагами моделирования
	public static int MODELATING_TIME_PERIOD;

//	Начальное количество хищников
	public static int INITIAL_PRADATOR_COUNT;
//	начальное количество травоядных
	public static int INITIAL_HERBIVORE_COUNT;
	//Начальное количество растений
	public static int INITIAL_HERB_COUNT;


	public static int PREDATOR_ENERGY_DECRIMENT;
	public static int[][] PREDATOR_WEIGHT_MATRIX = {
		{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0},
		{0, 1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0},
		{0, -1, 0, 0, 1, 0, 0, -1, 0, 0, -1, 0},
		{0, -1, 0, 0, -1, 0, 0, 1, 0, 0, -1, 0}
	};

	public static int[] PREDATOR_SHIFT_VECTOR = {
		0, 0, 1, 0
	};
	public static int PREDATOR_FEEL_AREA;
	public static int PREDATOR_NEAR_AREA = 1;

	//Скорость убывания энергии агентов
	public static int HERBIVORE_ENERGY_DECRIMENT;
	//Матрица весов травоядного агента
	public static int[][] HERBIVORE_WEIGHT_MATRIX = {
		{-1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 1},
		{-1, 0, 1, 1, 0, -1, 1, 0, -1, -1, 0, -1},
		{1, 0, -1, -2, 0, 1, 1, 0, -1, 1, 0, -1},
		{0, 0, -1, 1, 0, -1, -1, 0, 1, -1, 0, -1}
	};
	//Вектор смещения для травояднго агента
	public static int[] HERBIVORE_SHIFT_VECTOR = {
		0, 0, 1, 0
	};
//	Область чувствительности травоядного агента
	public static int HERBIVORE_FEEL_AREA ;
	public static int HERBIVORE_NEAR_AREA = 1;


//	Скорость нарастания энергии растений
	public static int HERB_ENERGY_DECRIMENT;

	public static int[][] HERB_WEIGHT_MATRIX = {
		{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
		{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
		{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
		{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
	};
	//Вектор смещения для травояднго агента
	public static int[] HERB_SHIFT_VECTOR = {
		0, 0, 0, 0
	};
//	Время жизни растения, ходов
	public static int HERB_LIVE_TIME;
//	Максимальное количество растений
	public static int MAX_HERB_COUNT;
//	Текущее количество растений
	public static int CURRENT_HERB_COUNT;

	public static Color BACKGROUND = new Color(183, 173, 112);

	public static int TOTAL_LIVE_TIME;

}
